<?php
	// ####################################################################
	// # Classe Singleton com funções e valores úteis para o site inteiro #
	// ####################################################################
	require_once('incluir.php');
	class Site
	{
		public $login;
		public $paginacao;
		public $session;
		public $cookie;
		public $factory;
		
		public function __construct()
		{
			$this->login = new GerenciadorLogin();
			$this->paginacao = new Paginacao();
			$this->session = new Session();
			$this->cookie = new Cookie();
			$this->factory = new Factory();
		}
		
		// Funções uteis para serem usadas no site
		
		// Checa se foi passado por GET, a uma certa página , um id válido.
		public function checa_id_passado($get)
		{
			if(!empty($get))
			{
				if(isset($get['id']))
				{
					if (is_numeric($get['id']))
					{
						$id = (int)$get['id'];
						return ($id >= 0); // O id tem que ser um número positivo
					}
				}
			}	
			return false;
		}
		
		//  Checa se foi passado por GET, a uma certa página , o parametro com o nome passado
		public function checa_param_passado($get, $nome_parametro)
		{
			if(!empty($get))
			{
				return isset($get[$nome_parametro]);
			}
			return false;
		}
		
		// Retorna a string de um array identado
		public function pr($array, $aparece_tela = true) {
			$str = '';
			$str .= '<pre>';
			$str .= print_r($array,true);//retorna como uma string
			$str .= '</pre>';
			if($aparece_tela) echo $str;
			return $str;
		}
		
		// Escreve uma mensagem de erro passada por parametro em um small com o texto vermelho caso o parametro esteja setado
		public function print_erro($erro, $aparece_tela = true) {
			$str = '';
			if(isset($erro)) {
				$str .= '<small style="color:red;">' . $erro . '</small>';
				$str .= '<br />';
			}
			if($aparece_tela) echo $str;
			return $str;
		}
		
		// Escreve mensagem dentro de um small se a mensagem existir
		public function print_mensagem($mensagem, $aparece_tela = true) {
			$str = '';
			if(isset($mensagem)) {
				$str .= '<small style="color:green;">' . $mensagem . '</small>';
				$str .= '<br />';
			}
			if($aparece_tela) echo $str;
			return $str;
		}
		
		// Gera uma string aleatória com o tamanho passado por parametro
		public function get_random_string($len) {
			$base = 'abcdefghijklmnopqrstuvwxyz123456789';
			$max = strlen($base) - 1;
			$activatecode = '';
			mt_srand((double)microtime() * 1000000);
			while(strlen($activatecode) < $len)
				$activatecode.=$base{mt_rand(0, $max)};
				
			return $activatecode;
		}
		
		public function data_normal($dtData){

			$arrayData = explode("-", $dtData);
			$dia = $arrayData[2];
			$mes = $arrayData[1];
			$ano = $arrayData[0];
	
			return "$dia/$mes/$ano";
		}
	
		public function data_BD($dtData){
	
			$arrayData = explode("/", $dtData);
			$dia = $arrayData[0];
			$mes = $arrayData[1];
			$ano = $arrayData[2];
	
			return "$ano-$mes-$dia";
		}
	}
?>